package org.opendolphin.demo.sevenguis.crud;
import javafx.collections.ListChangeListener;
import javafx.scene.control.ListView;
import org.opendolphin.core.Attribute;
import org.opendolphin.core.PresentationModel;
import java.util.function.Supplier;
public class ODListViews {
public ODListViews() {
}
void bindSelectedPmId(ListView<PresentationModel> listView, Supplier<Attribute> attributeSupplier) {
listView.getSelectionModel().selectedItemProperty().addListener((s, o, n) -> {
if (n != null) {
attributeSupplier.get().setValue(n.getId());
}
});
//!! todo: create small JavaFX project demonstrating listview/observable changes:
// maintain PMid to idx map:
if (1 > 2) {
listView.getItems().addListener(new ListChangeListener<PresentationModel>() {
@Override
public void onChanged(Change change) {
System.out.println("Detected a change! " + change);
while (change.next()) {
if (change.wasAdded()) {
System.out.println("added");
}
else if (change.wasRemoved()) {
System.out.println("removed");
}
else if (change.wasReplaced()) {
System.out.println("replaced");
}
else if (change.wasPermutated()) {
System.out.println("permutated");
}
}
}
});
}
}
}